public class code2 {
    //删除链表val的元素
    public ListNode removeElements(ListNode head, int val) {
        //特殊情况处理
        if(head==null) return null;

        ListNode cur = head.next;
        ListNode prev = head;
        while(cur!=null) {//注意：cur和cur.next !=null的区别
            if(cur.val == val) {
                prev.next = cur.next;
                cur = cur.next;
            } else {
                cur = cur.next;
                prev = prev.next;
            }
        }
        //第一个就要删要特殊处理
        if(head.val==val) return head.next;
        return head;
    }
}
